#include "Nave.h"

Nave::Nave(string arquivo_imagem, int velocidadeInicial, int posHorInicial, int posVerInicial)
    : deslocamento(0),posicao(0,0)

{
	modelo.carregar(arquivo_imagem);
	defdeslocamento(velocidadeInicial); 
	posicao.defPosHorizontal(posHorInicial);
	posicao.defPosVertical(posVerInicial);
}


Nave::~Nave()
{
}

void Nave::desenharNave()
{
	modelo.desenha(posicao.recPosHorizontal(),posicao.recPosVertical(), true);
}
void Nave::moverNave()
{
	int incHorizontal = posicao.recPosHorizontal() + recdeslocamento();
	int incVertical = posicao.recPosVertical() + recdeslocamento();
	int decHorizontal = posicao.recPosHorizontal() - recdeslocamento();
	int decVertical = posicao.recPosVertical() - recdeslocamento();
	if(key[KEY_RIGHT])
	{
	posicao.defPosHorizontal(incHorizontal);
	}
	if(key[KEY_LEFT])
	{
	posicao.defPosHorizontal(decHorizontal);
	}
	if(key[KEY_UP])
	{
	posicao.defPosVertical(decVertical);
	}
	if(key[KEY_DOWN])
	{
	posicao.defPosVertical(incVertical);
	}
}



void Nave::defdeslocamento(int newVal){

	deslocamento = newVal;
}


void Nave::defmodelo(imagem newVal){

	modelo = newVal;
}


int Nave::recdeslocamento(){

	return deslocamento;
}


imagem Nave::recmodelo(){

	return modelo;
}


void Nave::defposicao(Posicionamento newVal){

	posicao = newVal;
}


Posicionamento Nave::recposicao(){

	return posicao;
}